#include "common.h"

int main() {
	int x = 0, y = 0, wait = 0;
	p_parteTabuleiro t = NULL;
	
	system("clear");
	alocaTabuleiro(&t, &x, &y, &wait);
	
	/* Inicia parte grafica */
	initscr();
	start_color();
	init_pair(1, COLOR_BLACK, COLOR_WHITE);
	attron(COLOR_PAIR(1));
	noecho();
	curs_set(0);
	
	while(1)
	{
		imprimeMatriz(t->tabuleiro[t->matriz_ger_atual], x, y);
		getNextGen(t, x, y);
		if(wait)
		{
<<<<<<< .mine
			r = rand() % 100;
			if (r < PORCENTAGEM)
				m[i][j] = TAB_NOMARK;
			else
				m[i][j] = TAB_MARK;
=======
			if (getch() == ESC_CHAR)  /* ESC */
				break;
>>>>>>> .r24
		}
<<<<<<< .mine
}

void imprimeMatriz(char **m, int x, int y)
{
	int i = 0, j = 0;
	
	for (i = 0; i < y; i++)
	{
		for (j = 0; j < x; j++)
		{
			mvprintw(i,j,"%c", m[i][j]);
		}
=======
		else
			usleep(REFRESH_RATE);
>>>>>>> .r24
	}
<<<<<<< .mine
	refresh();
}

void leMatriz(char **m, int x, int y)
{
}

void getNextGen(p_parteTabuleiro t, int x, int y)
{
	calculaProxGen(t, x, y);
	t->matriz_ger_atual = !t->matriz_ger_atual;
}

int main() {
  int aleatorio = 0, x = 0, y = 0, wait = 0;
	p_parteTabuleiro t = NULL;
=======
>>>>>>> .r24
	
<<<<<<< .mine
	t = (p_parteTabuleiro) malloc(sizeof(t_parteTabuleiro));
=======
	/* Finaliza parte grafica */
	attroff(COLOR_PAIR(1));
	endwin();
>>>>>>> .r24
	
<<<<<<< .mine
	t->tabuleiro = (char ***) malloc(sizeof(char **) * 2);			/* Cria 2 tabuleiros, para buffer */
	
	printf("Digite as dimensoes do tabuleiro:\n");
	x = getInt("Largura (maximo 80): ", 1, LARGURA_MAX); 
	y = getInt("Altura (maximo 23): ", 1, ALTURA_MAX);
=======
>>>>>>> .r24
	
	liberaTabuleiro(&t, y);
	wait = getInt("Esperar entrada do usuario para atualizar?\n0: Nao\n1: Sim\n", 0, 1);
	
<<<<<<< .mine
	alocaMatriz(&(t->tabuleiro[0]), x, y);
	alocaMatriz(&(t->tabuleiro[1]), x, y);
  
	initscr();
	start_color();
	init_pair(1, COLOR_BLACK, COLOR_WHITE);
	attron(COLOR_PAIR(1));
	cbreak();
	noecho();
	keypad(stdscr, TRUE);
	curs_set(0);
  
  if (aleatorio)
  {
    geraMatriz(t->tabuleiro[0], x, y);
		t->x = 0;
		t->y = 0;
		t->size_x = x;
		t->size_y = y;
		t->matriz_ger_atual = 0;
		
		while(1)
		{
			imprimeMatriz(t->tabuleiro[t->matriz_ger_atual], x, y);
			getNextGen(t, x, y);
			if(wait)
			{
				if (getch() == 27)  /* ESC */
					break;
			}
			else
				usleep(400000);
		}
  }
	else
	{
		leMatriz(t->tabuleiro[0], x, y);
	}
	
	attroff(COLOR_PAIR(1));
	endwin();
	liberaMatriz(&(t->tabuleiro[0]), y);
	liberaMatriz(&(t->tabuleiro[1]), y);
	printf("%c[%dm", 0x1B, 0);
	free(t);
	
=======
>>>>>>> .r24
	return 0;
}
